<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Monkey PHP Framework</title>
<link type="text/css" href="statics/css/base.css" rel="stylesheet" />
<script type="text/javascript" src="statics/js/jquery.min.js"></script>
<script type="text/javascript" src="statics/js/monkey.js"></script>
</head>

<body>
<!--page_wrap:start-->
<div class="page_wrap">

<p>
<h2>2.3  异常类\MonkeyException</h2>
<br />
<b>公开方法：</b><br />
<table class="table table_bordered table_striped">
	<thead>
		<tr>
			<th>方法名</th>
			<th>参数</th>
			<th>说明</th>
		</tr>
	</thead>
	<tbody>
		<tr>
			<th>::hasError</th>
			<td>无</td>
			<td>检查是否发生错误。返回boolean</td>
		</tr>
		<tr>
			<th>::show404</th>
			<td>无</td>
			<td>显示 404 错误，并终止程序。无返回</td>
		</tr>
        <tr>
			<th>::show403</th>
			<td>无</td>
			<td>显示 403 错误，并终止程序。无返回</td>
		</tr>
		<tr>
			<th>::show</th>
			<td>boolean $exit 显示完毕后是否退出程序</td>
			<td>显示堆栈中的错误。无返回</td>
		</tr>
		<tr>
			<th>::halt</th>
			<td>
				String $message 错误消息<br />
				Int $code=0 错误代号<br />
				String $file=null 出错文件<br />
				Int $line=null 错误行号
			</td>
			<td>
				做了三件事：<br />
				1 抛出错误；<br />
				2 显示错误；<br />
				3 终止程序。<br />
                无返回
			</td>
		</tr>
	</tbody>
</table>

<b>关于日志</b><br />
当 DEBUG 为真时不记录日志，当 DEBUG 为 0 时 MonkeyPHP 异常自动记录日志，日志文件位于 SYSTEM.'/logs'。修改位置 debug.php 文件中。<br /><br />

<b>错误显示方式</b><br />
MonkeyPHP 异常自动根据请求类别输出不同的错误表示类型。<br />
（1）命令行请求：直接输出错误字符串；<br />
（2）AJAX 请求：输出 json 信息，格式为{'status': false, 'info': $error_info}<br />
（3）http 请求：出错带格式的 html 网页。<br /><br />

<b>注意：</b><br />
（1）MonkeyPHP 的异常只有在 DEBUG 为真时才接管系统自动抛出的异常。<br />
（2）MonkeyPHP 的异常抛出后不会终止程序，而是将错误信息压入堆栈。<br />
（3）要显示错误请使用 \MonkeyException::show 方法，同样显示错误也不会终止程序。<br />
（4）要终止程序请手动退出。<br />
（5）抛出错误、显示错误、终止程序可以用一个集成方法 \MonkeyException::halt。 <br />

</p>


</div>
<!--page_wrap:end-->
</body>
</html>